A Flexible, Efficient Concurrent Garbage Collector for Speculative Thread Processors
نویسندگان
چکیده
Michael Chen and Kunle Olukotun Computer Systems Lab, Stanford University Abstract In this paper, we introduce a novel garbage collector for Java to be used for processors with speculative threads support like the Hydra chip multiprocessor (CMP). Thread speculation permits parallel execution of sections of sequential code with data dependencies enforced in the hardware, eliminating the need for explicit locking. We have augmented Dijkstra’s classical on-the-fly mark and sweep collector to take advantage of the CMP’s thread-level speculation and low-latency interprocessor communication. The resulting collector can execute concurrently without an explicit collector thread or can increase the collection rate by executing in parallel on all free processors. A dynamically scalable collector provides more control to adjust collection behavior according to the total system load and real-time deadlines. Speculative threads ensured the scalable implementation was simple and required no additional overheads, but we were unable to observe additional performance gains from eliminated explicit synchronization.
منابع مشابه
A Real-Time Garbage Collector for Embedded Applications in CLI
We are working on scheduling of garbage collector as a concurrent thread for time-constrained applications in Common Language Infrastructure (CLI). We have implemented an incremental garbage collector with fine-grained write barrier in MONO, an opensource implementation of CLI. Our collector is based on existing conservative garbage collector of Boehm et al. By conducting benchmarking experim...
متن کاملA Study of Lock-Free Based Concurrent Garbage Collectors for Multicore Platform
Concurrent garbage collectors (CGC) have recently obtained extensive concern on multicore platform. Excellent designed CGC can improve the efficiency of runtime systems by exploring the full potential processing resources of multicore computers. Two major performance critical components for designing CGC are studied in this paper, stack scanning and heap compaction. Since the lock-based algorit...
متن کاملParMarkSplit: A Parallel Mark-Split Garbage Collector Based on a Lock-Free Skip-List
This brief announcement provides a high level overview of a parallel mark-split garbage collector. Our parallel design introduces and makes use of an efficient concurrency control mechanism based on a lock-free skip-list design for handling the list of free memory intervals. We have implemented the parallel mark-split garbage collector in OpenJDK HotSpot as a parallel and concurrent garbage col...
متن کاملBrief Announcement: ParMarkSplit: A Parallel Mark-Split Garbage Collector Based on a Lock-Free Skip-List
This brief announcement provides a high level overview of a parallel mark-split garbage collector. Our parallel design introduces and makes use of an efficient concurrency control mechanism based on a lock-free skip-list design for handling the list of free memory intervals. We have implemented the parallel mark-split garbage collector in OpenJDK HotSpot as a parallel and concurrent garbage col...
متن کاملA Concurrent Copying Garbage Collector for Languages that Distinguish ( Im ) mutable
This paper describes the design and implementation of a concurrent compacting garbage collector for languages that distinguish mutable data from immutable data (e.g., ML) as well as for languages that manipulate only immutable data (e.g., pure functional languages such as Haskell). The collector runs on shared-memory parallel computers and requires minimal mutator/collector synchronization. No ...
متن کامل